// ███╗   ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
// ████╗  ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
// ██╔██╗ ██║██║   ██║   ██║   ██║██║     █████╗  
// ██║╚██╗██║██║   ██║   ██║   ██║██║     ██╔══╝  
// ██║ ╚████║╚██████╔╝   ██║   ██║╚██████╗███████╗
// ╚═╝  ╚═══╝ ╚═════╝    ╚═╝   ╚═╝ ╚═════╝╚══════╝
// -----------------------------------------------
//  
// This file is automatically generated 
// Please do not edit these files manually
// Run the following in the root of the repos:
//
// 		*NIX 		:	./build.sh codegen
// 		Windows 	:	build.bat codegen
//
// -----------------------------------------------
// ReSharper disable RedundantUsingDirective
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Elasticsearch.Net;
using static Elasticsearch.Net.HttpMethod;

// ReSharper disable InterpolatedStringExpressionIsNotIFormattable
// ReSharper disable once CheckNamespace
// ReSharper disable InterpolatedStringExpressionIsNotIFormattable
// ReSharper disable RedundantExtendsListEntry
namespace Elasticsearch.Net.Specification.CatApi
{
	///<summary>
	/// Cat APIs.
	/// <para>Not intended to be instantiated directly. Use the <see cref = "IElasticLowLevelClient.Cat"/> property
	/// on <see cref = "IElasticLowLevelClient"/>.
	///</para>
	///</summary>
	public class LowLevelCatNamespace : NamespacedClientProxy
	{
		internal LowLevelCatNamespace(ElasticLowLevelClient client): base(client)
		{
		}

		protected override string ContentType
		{
			get;
		}

		= "text/plain";
		///<summary>GET on /_cat/aliases <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-alias.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Aliases<TResponse>(CatAliasesRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/aliases", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/aliases <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-alias.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.aliases", "")]
		public Task<TResponse> AliasesAsync<TResponse>(CatAliasesRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/aliases", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/aliases/{name} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-alias.html</para></summary>
		///<param name = "name">A comma-separated list of alias names to return</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Aliases<TResponse>(string name, CatAliasesRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, Url($"_cat/aliases/{name:name}"), null, RequestParams(requestParameters));
		///<summary>GET on /_cat/aliases/{name} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-alias.html</para></summary>
		///<param name = "name">A comma-separated list of alias names to return</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.aliases", "name")]
		public Task<TResponse> AliasesAsync<TResponse>(string name, CatAliasesRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/aliases/{name:name}"), ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/allocation <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-allocation.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Allocation<TResponse>(CatAllocationRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/allocation", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/allocation <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-allocation.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.allocation", "")]
		public Task<TResponse> AllocationAsync<TResponse>(CatAllocationRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/allocation", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/allocation/{node_id} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-allocation.html</para></summary>
		///<param name = "nodeId">A comma-separated list of node IDs or names to limit the returned information</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Allocation<TResponse>(string nodeId, CatAllocationRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, Url($"_cat/allocation/{nodeId:nodeId}"), null, RequestParams(requestParameters));
		///<summary>GET on /_cat/allocation/{node_id} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-allocation.html</para></summary>
		///<param name = "nodeId">A comma-separated list of node IDs or names to limit the returned information</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.allocation", "node_id")]
		public Task<TResponse> AllocationAsync<TResponse>(string nodeId, CatAllocationRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/allocation/{nodeId:nodeId}"), ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/count <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-count.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Count<TResponse>(CatCountRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/count", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/count <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-count.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.count", "")]
		public Task<TResponse> CountAsync<TResponse>(CatCountRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/count", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/count/{index} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-count.html</para></summary>
		///<param name = "index">A comma-separated list of index names to limit the returned information</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Count<TResponse>(string index, CatCountRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, Url($"_cat/count/{index:index}"), null, RequestParams(requestParameters));
		///<summary>GET on /_cat/count/{index} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-count.html</para></summary>
		///<param name = "index">A comma-separated list of index names to limit the returned information</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.count", "index")]
		public Task<TResponse> CountAsync<TResponse>(string index, CatCountRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/count/{index:index}"), ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/fielddata <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-fielddata.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Fielddata<TResponse>(CatFielddataRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/fielddata", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/fielddata <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-fielddata.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.fielddata", "")]
		public Task<TResponse> FielddataAsync<TResponse>(CatFielddataRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/fielddata", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/fielddata/{fields} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-fielddata.html</para></summary>
		///<param name = "fields">A comma-separated list of fields to return the fielddata size</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Fielddata<TResponse>(string fields, CatFielddataRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, Url($"_cat/fielddata/{fields:fields}"), null, RequestParams(requestParameters));
		///<summary>GET on /_cat/fielddata/{fields} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-fielddata.html</para></summary>
		///<param name = "fields">A comma-separated list of fields to return the fielddata size</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.fielddata", "fields")]
		public Task<TResponse> FielddataAsync<TResponse>(string fields, CatFielddataRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/fielddata/{fields:fields}"), ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/health <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-health.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Health<TResponse>(CatHealthRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/health", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/health <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-health.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.health", "")]
		public Task<TResponse> HealthAsync<TResponse>(CatHealthRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/health", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Help<TResponse>(CatHelpRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat", null, RequestParams(requestParameters));
		///<summary>GET on /_cat <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.help", "")]
		public Task<TResponse> HelpAsync<TResponse>(CatHelpRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/indices <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-indices.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Indices<TResponse>(CatIndicesRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/indices", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/indices <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-indices.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.indices", "")]
		public Task<TResponse> IndicesAsync<TResponse>(CatIndicesRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/indices", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/indices/{index} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-indices.html</para></summary>
		///<param name = "index">A comma-separated list of index names to limit the returned information</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Indices<TResponse>(string index, CatIndicesRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, Url($"_cat/indices/{index:index}"), null, RequestParams(requestParameters));
		///<summary>GET on /_cat/indices/{index} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-indices.html</para></summary>
		///<param name = "index">A comma-separated list of index names to limit the returned information</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.indices", "index")]
		public Task<TResponse> IndicesAsync<TResponse>(string index, CatIndicesRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/indices/{index:index}"), ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/master <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-master.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Master<TResponse>(CatMasterRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/master", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/master <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-master.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.master", "")]
		public Task<TResponse> MasterAsync<TResponse>(CatMasterRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/master", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/ml/data_frame/analytics <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-dfanalytics.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse DataFrameAnalytics<TResponse>(CatDataFrameAnalyticsRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/ml/data_frame/analytics", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/ml/data_frame/analytics <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-dfanalytics.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.ml_data_frame_analytics", "")]
		public Task<TResponse> DataFrameAnalyticsAsync<TResponse>(CatDataFrameAnalyticsRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/ml/data_frame/analytics", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/ml/data_frame/analytics/{id} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-dfanalytics.html</para></summary>
		///<param name = "id">The ID of the data frame analytics to fetch</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse DataFrameAnalytics<TResponse>(string id, CatDataFrameAnalyticsRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, Url($"_cat/ml/data_frame/analytics/{id:id}"), null, RequestParams(requestParameters));
		///<summary>GET on /_cat/ml/data_frame/analytics/{id} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-dfanalytics.html</para></summary>
		///<param name = "id">The ID of the data frame analytics to fetch</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.ml_data_frame_analytics", "id")]
		public Task<TResponse> DataFrameAnalyticsAsync<TResponse>(string id, CatDataFrameAnalyticsRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/ml/data_frame/analytics/{id:id}"), ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/ml/datafeeds <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-datafeeds.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Datafeeds<TResponse>(CatDatafeedsRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/ml/datafeeds", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/ml/datafeeds <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-datafeeds.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.ml_datafeeds", "")]
		public Task<TResponse> DatafeedsAsync<TResponse>(CatDatafeedsRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/ml/datafeeds", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/ml/datafeeds/{datafeed_id} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-datafeeds.html</para></summary>
		///<param name = "datafeedId">The ID of the datafeeds stats to fetch</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Datafeeds<TResponse>(string datafeedId, CatDatafeedsRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, Url($"_cat/ml/datafeeds/{datafeedId:datafeedId}"), null, RequestParams(requestParameters));
		///<summary>GET on /_cat/ml/datafeeds/{datafeed_id} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-datafeeds.html</para></summary>
		///<param name = "datafeedId">The ID of the datafeeds stats to fetch</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.ml_datafeeds", "datafeed_id")]
		public Task<TResponse> DatafeedsAsync<TResponse>(string datafeedId, CatDatafeedsRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/ml/datafeeds/{datafeedId:datafeedId}"), ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/ml/anomaly_detectors <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-anomaly-detectors.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Jobs<TResponse>(CatJobsRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/ml/anomaly_detectors", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/ml/anomaly_detectors <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-anomaly-detectors.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.ml_jobs", "")]
		public Task<TResponse> JobsAsync<TResponse>(CatJobsRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/ml/anomaly_detectors", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/ml/anomaly_detectors/{job_id} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-anomaly-detectors.html</para></summary>
		///<param name = "jobId">The ID of the jobs stats to fetch</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Jobs<TResponse>(string jobId, CatJobsRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, Url($"_cat/ml/anomaly_detectors/{jobId:jobId}"), null, RequestParams(requestParameters));
		///<summary>GET on /_cat/ml/anomaly_detectors/{job_id} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-anomaly-detectors.html</para></summary>
		///<param name = "jobId">The ID of the jobs stats to fetch</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.ml_jobs", "job_id")]
		public Task<TResponse> JobsAsync<TResponse>(string jobId, CatJobsRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/ml/anomaly_detectors/{jobId:jobId}"), ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/ml/trained_models <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse TrainedModels<TResponse>(CatTrainedModelsRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/ml/trained_models", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/ml/trained_models <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.ml_trained_models", "")]
		public Task<TResponse> TrainedModelsAsync<TResponse>(CatTrainedModelsRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/ml/trained_models", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/ml/trained_models/{model_id} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html</para></summary>
		///<param name = "modelId">The ID of the trained models stats to fetch</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse TrainedModels<TResponse>(string modelId, CatTrainedModelsRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, Url($"_cat/ml/trained_models/{modelId:modelId}"), null, RequestParams(requestParameters));
		///<summary>GET on /_cat/ml/trained_models/{model_id} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html</para></summary>
		///<param name = "modelId">The ID of the trained models stats to fetch</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.ml_trained_models", "model_id")]
		public Task<TResponse> TrainedModelsAsync<TResponse>(string modelId, CatTrainedModelsRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/ml/trained_models/{modelId:modelId}"), ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/nodeattrs <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodeattrs.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse NodeAttributes<TResponse>(CatNodeAttributesRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/nodeattrs", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/nodeattrs <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodeattrs.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.nodeattrs", "")]
		public Task<TResponse> NodeAttributesAsync<TResponse>(CatNodeAttributesRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/nodeattrs", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/nodes <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodes.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Nodes<TResponse>(CatNodesRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/nodes", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/nodes <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodes.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.nodes", "")]
		public Task<TResponse> NodesAsync<TResponse>(CatNodesRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/nodes", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/pending_tasks <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-pending-tasks.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse PendingTasks<TResponse>(CatPendingTasksRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/pending_tasks", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/pending_tasks <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-pending-tasks.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.pending_tasks", "")]
		public Task<TResponse> PendingTasksAsync<TResponse>(CatPendingTasksRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/pending_tasks", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/plugins <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-plugins.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Plugins<TResponse>(CatPluginsRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/plugins", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/plugins <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-plugins.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.plugins", "")]
		public Task<TResponse> PluginsAsync<TResponse>(CatPluginsRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/plugins", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/recovery <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-recovery.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Recovery<TResponse>(CatRecoveryRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/recovery", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/recovery <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-recovery.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.recovery", "")]
		public Task<TResponse> RecoveryAsync<TResponse>(CatRecoveryRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/recovery", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/recovery/{index} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-recovery.html</para></summary>
		///<param name = "index">Comma-separated list or wildcard expression of index names to limit the returned information</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Recovery<TResponse>(string index, CatRecoveryRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, Url($"_cat/recovery/{index:index}"), null, RequestParams(requestParameters));
		///<summary>GET on /_cat/recovery/{index} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-recovery.html</para></summary>
		///<param name = "index">Comma-separated list or wildcard expression of index names to limit the returned information</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.recovery", "index")]
		public Task<TResponse> RecoveryAsync<TResponse>(string index, CatRecoveryRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/recovery/{index:index}"), ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/repositories <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-repositories.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Repositories<TResponse>(CatRepositoriesRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/repositories", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/repositories <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-repositories.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.repositories", "")]
		public Task<TResponse> RepositoriesAsync<TResponse>(CatRepositoriesRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/repositories", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/segments <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-segments.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Segments<TResponse>(CatSegmentsRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/segments", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/segments <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-segments.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.segments", "")]
		public Task<TResponse> SegmentsAsync<TResponse>(CatSegmentsRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/segments", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/segments/{index} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-segments.html</para></summary>
		///<param name = "index">A comma-separated list of index names to limit the returned information</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Segments<TResponse>(string index, CatSegmentsRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, Url($"_cat/segments/{index:index}"), null, RequestParams(requestParameters));
		///<summary>GET on /_cat/segments/{index} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-segments.html</para></summary>
		///<param name = "index">A comma-separated list of index names to limit the returned information</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.segments", "index")]
		public Task<TResponse> SegmentsAsync<TResponse>(string index, CatSegmentsRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/segments/{index:index}"), ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/shards <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-shards.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Shards<TResponse>(CatShardsRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/shards", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/shards <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-shards.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.shards", "")]
		public Task<TResponse> ShardsAsync<TResponse>(CatShardsRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/shards", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/shards/{index} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-shards.html</para></summary>
		///<param name = "index">A comma-separated list of index names to limit the returned information</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Shards<TResponse>(string index, CatShardsRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, Url($"_cat/shards/{index:index}"), null, RequestParams(requestParameters));
		///<summary>GET on /_cat/shards/{index} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-shards.html</para></summary>
		///<param name = "index">A comma-separated list of index names to limit the returned information</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.shards", "index")]
		public Task<TResponse> ShardsAsync<TResponse>(string index, CatShardsRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/shards/{index:index}"), ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/snapshots <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-snapshots.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Snapshots<TResponse>(CatSnapshotsRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/snapshots", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/snapshots <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-snapshots.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.snapshots", "")]
		public Task<TResponse> SnapshotsAsync<TResponse>(CatSnapshotsRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/snapshots", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/snapshots/{repository} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-snapshots.html</para></summary>
		///<param name = "repository">Name of repository from which to fetch the snapshot information</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Snapshots<TResponse>(string repository, CatSnapshotsRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, Url($"_cat/snapshots/{repository:repository}"), null, RequestParams(requestParameters));
		///<summary>GET on /_cat/snapshots/{repository} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-snapshots.html</para></summary>
		///<param name = "repository">Name of repository from which to fetch the snapshot information</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.snapshots", "repository")]
		public Task<TResponse> SnapshotsAsync<TResponse>(string repository, CatSnapshotsRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/snapshots/{repository:repository}"), ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/tasks <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/tasks.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Tasks<TResponse>(CatTasksRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/tasks", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/tasks <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/tasks.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.tasks", "")]
		public Task<TResponse> TasksAsync<TResponse>(CatTasksRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/tasks", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/templates <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-templates.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Templates<TResponse>(CatTemplatesRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/templates", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/templates <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-templates.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.templates", "")]
		public Task<TResponse> TemplatesAsync<TResponse>(CatTemplatesRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/templates", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/templates/{name} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-templates.html</para></summary>
		///<param name = "name">A pattern that returned template names must match</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Templates<TResponse>(string name, CatTemplatesRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, Url($"_cat/templates/{name:name}"), null, RequestParams(requestParameters));
		///<summary>GET on /_cat/templates/{name} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-templates.html</para></summary>
		///<param name = "name">A pattern that returned template names must match</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.templates", "name")]
		public Task<TResponse> TemplatesAsync<TResponse>(string name, CatTemplatesRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/templates/{name:name}"), ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/thread_pool <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-thread-pool.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse ThreadPool<TResponse>(CatThreadPoolRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/thread_pool", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/thread_pool <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-thread-pool.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.thread_pool", "")]
		public Task<TResponse> ThreadPoolAsync<TResponse>(CatThreadPoolRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/thread_pool", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/thread_pool/{thread_pool_patterns} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-thread-pool.html</para></summary>
		///<param name = "threadPoolPatterns">A comma-separated list of regular-expressions to filter the thread pools in the output</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse ThreadPool<TResponse>(string threadPoolPatterns, CatThreadPoolRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, Url($"_cat/thread_pool/{threadPoolPatterns:threadPoolPatterns}"), null, RequestParams(requestParameters));
		///<summary>GET on /_cat/thread_pool/{thread_pool_patterns} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-thread-pool.html</para></summary>
		///<param name = "threadPoolPatterns">A comma-separated list of regular-expressions to filter the thread pools in the output</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.thread_pool", "thread_pool_patterns")]
		public Task<TResponse> ThreadPoolAsync<TResponse>(string threadPoolPatterns, CatThreadPoolRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/thread_pool/{threadPoolPatterns:threadPoolPatterns}"), ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/transforms <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-transforms.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Transforms<TResponse>(CatTransformsRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/transforms", null, RequestParams(requestParameters));
		///<summary>GET on /_cat/transforms <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-transforms.html</para></summary>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.transforms", "")]
		public Task<TResponse> TransformsAsync<TResponse>(CatTransformsRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/transforms", ctx, null, RequestParams(requestParameters));
		///<summary>GET on /_cat/transforms/{transform_id} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-transforms.html</para></summary>
		///<param name = "transformId">The id of the transform for which to get stats. &#x27;_all&#x27; or &#x27;*&#x27; implies all transforms</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		public TResponse Transforms<TResponse>(string transformId, CatTransformsRequestParameters requestParameters = null)
			where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, Url($"_cat/transforms/{transformId:transformId}"), null, RequestParams(requestParameters));
		///<summary>GET on /_cat/transforms/{transform_id} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-transforms.html</para></summary>
		///<param name = "transformId">The id of the transform for which to get stats. &#x27;_all&#x27; or &#x27;*&#x27; implies all transforms</param>
		///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
		[MapsApi("cat.transforms", "transform_id")]
		public Task<TResponse> TransformsAsync<TResponse>(string transformId, CatTransformsRequestParameters requestParameters = null, CancellationToken ctx = default)
			where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/transforms/{transformId:transformId}"), ctx, null, RequestParams(requestParameters));
	}
}